come on 点我了解更多文本处理相关技术
戳阿虎虎的视频号观看本期视频版本
明天就是第十二个联合国中文日,这节阿虎虎必须过,不光为了咱们是中国人,更为了阿虎虎成天跟中文文本打交道的血泪史。(当然阿虎虎也跟英文文本打交道,不过那是另一段血泪史了)
毕竟,中文算得上是最复杂的语言,连联合国都把中文放到了世界十大最难学语言的第一位。来一个简单的例子,让你明白阿虎虎的痛苦。
让机器处理文最基础的步骤,是对文本进行分词,就像我们学习新语言一样,得把话拆开来,先认识每一个字符。如果是处理英文文本,这一步简单多了,因为英文里都是独立的单词,但是处理中文就比较头大了,比如“南京市长江大桥”这段文字:
我们很自然地理解为:南京市,长江,大桥。
不过一个初学中文的老外,没准儿会理解成:南京,市长,江大桥。
也没毛病!老外犯迷糊,机器也犯迷糊。更犯迷糊的是对中文文本的语义理解,比如 这段对话:
小博帮了小虎一个小忙,小虎给小博送去了一点小礼品表示感谢。小博:你这是什么意思?小虎:没什么意思,意思意思。小博:你这就不够意思了。小虎:小意思,小意思。小博:你这人真有意思。小虎:其实也没有别的意思。小博:那我就不好意思了。小虎:是我不好意思。小博:你肯定有什么意思。小虎:真的没有什么意思。小博:既然没有什么意思,那你是什么意思?小虎:其实,我的意思就是想意思意思。小博:你既然是想意思意思,那就是有什么意思。小虎哭了:我就是想意思意思。但是,真的没有什么别的意思。也就是意思意思而已。小博笑了:呵呵,我对你有点意思了。小虎心想:嘻嘻,我就是这个意思。
不同语境下的“意思”,有的时候代表心意、有的时候代表意愿、有的时候又代表意图......这回不光老外和机器犯迷糊了,母语是中文的我们也不一定百分之百弄得清楚。
当然,在阿虎虎和众多同行的努力之下,通过比较成熟的算法和模型,已经能够有效地让机器帮助我们处理文本信息,并进行了许多有价值的应用,阿虎虎来给大家汇报汇报:
1、词法分析,让机器先认识字儿
首先是对词和词组的分析,包括分词处理、词性标注、命名实体识别等:
分词处理,即将文字序列切分成有意义的词或词组。词性标注,即对分词后的每个独立单词进行词性判断并标注。命名实体识别,即从文本信息中识别出命名实体,如姓名、时间、地点以及机构等。
2、句法依存分析,让机器明白字儿都怎么组合
词法分析过后,通过词汇之间的依存关系来拆解整个句子结构,依存关系表达了句子各成分之间的语义依赖关系,比如主谓、动宾、定中等结构关系。
3、关系/实体抽取,让机器理解文本的含义
句法分析过后,就可以抽取信息中的特定实体之间的关系。例如上下位关系、同义词关系等。
上图就是利用算法让机器对文本进行理解的例子,经过算法分析,机器就能够理解“NLP这个实体是从属于人工智能这个学科的研究方向”。
当机器理解了中文文本的含义,就可以做更进一步的处理,比如对本文的情感倾向进行分析,并应用到舆情监控当中:
企业就能通过对舆情的情感倾向,识别发现潜在的危机,也能对产品和服务的评价进行正负面判断,帮助及时改善服务质量、发现产品问题,让客户使用更人性化的产品,享受更贴心的服务。政府部门就可以通过社会舆情的情感判别,研究公众对社会事件、行政政策、市政服务等评价好恶,制定更加符合社会发展的战略方针。
借这个机会,阿虎虎再跟大家分享一下怎么让机器来对文本进行情感倾向的分析:
一般情感分析为三种任务类型:词级、句级、目标级(目标级又分为TG-ABSA、TN-ABSA、T-ABSA)。
词级很好理解,就是对一个词语的正负面进行判断,例如“中奖”就代表了正向的情感,“火灾”则代表了负面的情感。
句级也容易理解,“基金跌太多了,入场要谨慎。”这句话表达的就是一种负面的情感。
不管是词级也好,句级也好,都只指出整体的感情倾向,这对于我们进行分析判断来说,显然不够,于是就有了目标级情感分析任务。
在介绍目标级之前,需要先引入情感分析五要素的概念来帮助理解。情感分析五要素即实体(entity)、实体的某个属性(aspect)、针对这个实体的观点(opinion)、观点持有者(holder)、持有观点的时间(time)。
翻译成大白话,情感分析只解决一个问题,判断出“什么人在什么时间对什么东西的哪个方面表达了什么情感”。我们来举个例子就能一目了然:
“我两个月前开始使用招商银行App,感觉交互体验非常不错,功能也比较强大,招商银行出的App总体都不错,掌上生活App交互体验也很好,相比而言,“撒钱银行”App交互体验就差很多了”
不同的目标级任务会得出不同的情感分析结果
好了,当机器明确了情感分析的任务之后,具体结论是怎么得出来的呢?目前主流方法分为两种:
1、 基于词典的情感分类方法
简而言之,就是利用预先构建好的情感词典,对识别好五要素的文本进行匹配。一般来说,情感词典包括正面词语词典、负面词语词典、否定词语词典、程度副词词典4种。词典中除了有词语的正负面,还有正负面所占的权重。
当然,基于词典的方法并不是简单的匹配上正负面词汇就输出正负面结果,其中还要经过算法的计算,这里阿虎虎就不多做介绍了。
不过这种方法有一定的缺陷,比如词语的权重并不是一成不变的,在不同的语境中,程度也不一样,另外每天都会层出不穷各种词汇,比如“给力”“蓝瘦香菇”这类词语,词典在发现这些新词方面,并不是很“给力”,所以就有了第二种主流的方法。
2、 基于深度学习的情感分类方法
这个方法就是基于深度学习的模型,让机器自动通过更深、更复杂的网络来关联上下文信息,通过不断迭代的方式寻找到最佳模型,以达到更加精准的情感判断。目前常见的深度学习模型包括RNN(Recurrent Neural Network, 循环神经网络)、CNN(Convolutional Neural Networks,卷积神经网络)、Google提出的Transformer结构等。
相较于词典的情感分类方法,深度学习的情感分类方法更加“智能”,同时也更加准确。